package object;

/**
 * 测试Object中常用的方法:toString和equals
 */
public class Demo {
    public static void main(String[] args) {
        Point p = new Point(1,2);
        /*
            toString方法是Object定义的方法，默认的实现中返回的字符串格式:
            类名@地址
         */
//        String str = p.toString();
//        System.out.println(str);
        /*
            当我们向控制台上输出一个对象时，实际上会先调用该对象的toString方法
            将其转换为String后才输出。
            如果输出到控制台上的内容不体现对象内容，则对实际开发帮助不大，此时
            我们应当妥善的重写toString方法
         */
        System.out.println(p);
        /*
            在java中任何类型和字符串连接结果都是字符串，此时java会将其他类型转换为
            字符串，而转换时就是依靠对象的toString方法来实现的
         */
        String str = "类:" + p;
        System.out.println(str);

        Point p1 = new Point(1,2);
        System.out.println("p:"+p);
        System.out.println("p1:"+p1);
        // 比较两个对象是否相等(==是值比较，因此是比较地址是否相同)，是否为同一个对象
        System.out.println(p==p1);//false
        // 比较两个对象的内容是否相等(不关心p和p2的地址，只关心两个对象的内容是否相同)
        System.out.println(p.equals(p1));//true

        Object o = new String();
    }
}



